package types

// NetworkConnectionDetail 网络连接明细数据结构
// 对应接口: GET /api/processes/connections
// 返回该结构体的切片 []NetworkConnectionDetail

// NetworkConnectionDetail 网络连接详细信息
// 用于网络监听明细表展示
// 每个连接一条记录，包含完整的连接信息

type NetworkConnectionDetail struct {
	// 连接基本信息
	ConnectionID string `json:"connection_id"` // 连接唯一标识
	Protocol     string `json:"protocol"`      // 协议类型(tcp/udp)
	Status       string `json:"status"`        // 连接状态(LISTEN/ESTABLISHED等)
	
	// 本地地址信息
	LocalAddr  string `json:"local_addr"`  // 本地IP地址
	LocalPort  int    `json:"local_port"`  // 本地端口号
	LocalPortText string `json:"local_port_text"` // 格式化端口号
	
	// 远程地址信息
	RemoteAddr string `json:"remote_addr"` // 远程IP地址
	RemotePort int    `json:"remote_port"` // 远程端口号
	RemotePortText string `json:"remote_port_text"` // 格式化端口号
	
	// 进程信息
	PID         int32  `json:"pid"`          // 进程ID
	ProcessName string `json:"process_name"` // 进程名称
	Executable  string `json:"executable"`   // 可执行文件路径
	Username    string `json:"username"`     // 进程所属用户
	
	// 流量统计
	BytesSent     uint64 `json:"bytes_sent"`      // 发送字节数
	BytesReceived uint64 `json:"bytes_received"`  // 接收字节数
	BytesTotal    uint64 `json:"bytes_total"`     // 总流量
	
	// 格式化字符串字段(前端直接使用)
	BytesSentText     string `json:"bytes_sent_text"`     // 格式化发送流量
	BytesReceivedText string `json:"bytes_received_text"` // 格式化接收流量
	BytesTotalText    string `json:"bytes_total_text"`    // 格式化总流量
	
	// 时间信息
	CreatedAt     string `json:"created_at"`      // 连接创建时间
	LastActivity  string `json:"last_activity"`   // 最后活动时间
	Duration      string `json:"duration"`        // 连接持续时间
	
	// 辅助字段
	IsListening   bool   `json:"is_listening"`    // 是否为监听端口
	IsEstablished bool   `json:"is_established"`  // 是否为已建立连接
	Direction     string `json:"direction"`       // 连接方向(in/out)
}